﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once

namespace gcmp
{
    struct RectSize
    {
        RectSize() : Width(0), Height(0) {}

        RectSize(double width, double height)
        {
            Width = width;
            Height = height;
        }

        double Width;
        double Height;
    };

    struct SectionHeightChangedSize
    {
        SectionHeightChangedSize() : Width(0), StartHeight(0), EndHeight(0) {}

        SectionHeightChangedSize(double width, double startHeight, double endHeight)
        {
            Width = width;
            StartHeight = startHeight;
            EndHeight = endHeight;
        }

        double Width;
        double StartHeight;
        double EndHeight;
    };

    struct ModelLSize
    {
        ModelLSize() : Breadth(0), Height(0), Breadth1(0), Height1(0) {}

        ModelLSize(double b, double h, double b1, double h1)
        {
            Breadth = b;
            Height = h;
            Breadth1 = b1;
            Height1 = h1;
        }

        double Breadth;
        double Height;
        double Breadth1;
        double Height1;
    };

    struct ModelTSize
    {
        ModelTSize() : Breadth(0), Height1(0), Breadth1(0), Height2(0), Height3(0), BreadthOffset(0){}

        ModelTSize(double b, double h1, double b1, double h2, double h3, double b2)
        {
            Breadth = b;
            Height1 = h1;
            Breadth1 = b1;
            Height2 = h2;
            Height3 = h3;
            BreadthOffset = b2;
        }

        double Breadth;
        double Height1;
        double Breadth1;
        double Height2;
        double Height3;
        double BreadthOffset;
    };

    struct ModelZSize
    {
        ModelZSize() : Height_a(0), Height_b(0), Height_c(0), Width_d(0), Width_e(0), Width_f(0) {}

        ModelZSize(double a, double b, double c, double d, double e, double f)
        {
            Height_a = a;
            Height_b = b;
            Height_c = c;
            Width_d = d;
            Width_e = e;
            Width_f = f;
        }

        double Height_a; // bottom
        double Height_b;
        double Height_c;
        double Width_d; // left
        double Width_e;
        double Width_f;
    };
} // namespace gcmp

